package com.cover.fti.play;

public class Level {
	private int CURRENT_LEVEL = 1;
	private int ENEMY_COUNT;
	private int ENEMY_LIFE;
	private float ENEMY_DELAY;
	private float ENEMY_MOVEMENT_SPEED;
	private int ENEMY_ATTACK_SPEED; //More little more faster
	
	public void setLevel(int currentLevel){
		this.CURRENT_LEVEL = currentLevel;
		switch(CURRENT_LEVEL){
			case 1: //TUTORIAL
				this.ENEMY_COUNT = 5;
				this.ENEMY_DELAY = 2f;
				this.ENEMY_LIFE = 10;
				this.ENEMY_MOVEMENT_SPEED = 8f;
				this.ENEMY_ATTACK_SPEED = 100;
				break;
			case 2:
				this.ENEMY_COUNT = 10;
				this.ENEMY_DELAY = 2f;
				this.ENEMY_LIFE = 30;
				this.ENEMY_MOVEMENT_SPEED = 8f;
				this.ENEMY_ATTACK_SPEED = 100;
				break;
			case 3:
				this.ENEMY_COUNT = 15;
				this.ENEMY_DELAY = 1.5f;
				this.ENEMY_LIFE = 50;
				this.ENEMY_MOVEMENT_SPEED = 8f;
				this.ENEMY_ATTACK_SPEED = 100;
				break;
			case 4: //BOSS 1
				this.ENEMY_COUNT = 2;
				this.ENEMY_DELAY = 1.5f;
				this.ENEMY_LIFE = 100;
				this.ENEMY_MOVEMENT_SPEED = 8f;
				this.ENEMY_ATTACK_SPEED = 90;
				break;
			case 5:
				this.ENEMY_COUNT = 20;
				this.ENEMY_DELAY = 1f;
				this.ENEMY_LIFE = 120;
				this.ENEMY_MOVEMENT_SPEED = 7.5f;
				this.ENEMY_ATTACK_SPEED = 90;
				break;
			case 6:
				this.ENEMY_COUNT = 25;
				this.ENEMY_DELAY = 1f;
				this.ENEMY_LIFE = 140;
				this.ENEMY_MOVEMENT_SPEED = 7.5f;
				this.ENEMY_ATTACK_SPEED = 90;
				break;
			case 7:
				this.ENEMY_COUNT = 25;
				this.ENEMY_DELAY = 1f;
				this.ENEMY_LIFE = 160;
				this.ENEMY_MOVEMENT_SPEED = 7.5f;
				this.ENEMY_ATTACK_SPEED = 90;
				break;
			case 8: //BOSS 2
				this.ENEMY_COUNT = 1;
				this.ENEMY_DELAY = 1f;
				this.ENEMY_LIFE = 300;
				this.ENEMY_MOVEMENT_SPEED = 7f;
				this.ENEMY_ATTACK_SPEED = 75;
				break;
			case 9:
				this.ENEMY_COUNT = 30;
				this.ENEMY_DELAY = 0f;
				this.ENEMY_LIFE = 200;
				this.ENEMY_MOVEMENT_SPEED = 7f;
				this.ENEMY_ATTACK_SPEED = 75;
				break;
			case 10:
				this.ENEMY_COUNT = 35;
				this.ENEMY_DELAY = 0f;
				this.ENEMY_LIFE = 220;
				this.ENEMY_MOVEMENT_SPEED = 7f;
				this.ENEMY_ATTACK_SPEED = 75;
				break;
			case 11:
				this.ENEMY_COUNT = 40;
				this.ENEMY_DELAY = 0f;
				this.ENEMY_LIFE = 250;
				this.ENEMY_MOVEMENT_SPEED = 7f;
				this.ENEMY_ATTACK_SPEED = 75;
				break;
			case 12: //LAST BOSS
				this.ENEMY_COUNT = 1;
				this.ENEMY_DELAY = 0f;
				this.ENEMY_LIFE = 1000;
				this.ENEMY_MOVEMENT_SPEED = 7f;
				this.ENEMY_ATTACK_SPEED = 60;
				break;
		}
	}
	
	public int getEnemyCount(){
		return this.ENEMY_COUNT;
	}
	
	public int getEnemyLife(){
		return this.ENEMY_LIFE;
	}
	
	public float getEnemyDelay(){
		return this.ENEMY_DELAY;
	}
	
	public float getEnemyMovementSpeed(){
		return this.ENEMY_MOVEMENT_SPEED;
	}
	
	public int getEnemyAttackSpeed(){
		return this.ENEMY_ATTACK_SPEED;
	}
	
	public int getCurrentLevel(){
		return this.CURRENT_LEVEL;
	}
}
